package com.tedu.api.list;

import org.junit.Test;

import javax.swing.*;
import java.util.ArrayList;
import java.util.Collection;

/**
 * 存放跟多相同数据-----数组    989个数据
 * int[] i=new int[989];     要求：1.定长2.类型固定
 * 需求：存989个数据，而且数据不相同
 *   当我们需求中，存在数量不确定，类型不确定-----使用集合保存数据
 *
 * 集合：存数相同【不相同】的数据的容器，使用功能和数组类似，保存一组数据
 *
 * 包位置：java.util
 * Collection【接口】   顶级集合       容器
 * 作用：所有集合的顶级接口，规定所有集合都具备的方法！
 *
 * Collection【接口】可以创建对象--多态创建顶级集合
 * Collection 引用=new ArrayList();     爷爷类=孙子类--继承关系--多态
 * List子接口【继承Collection接口】
 * ArrayList实现类【继承List子接口】
 * Set子接口【继承Collection接口】
 *
 *
 */
public class CollectionAPI {
    @Test
    public void testCollection(){
        //创建顶级集合【容器】
        Collection c=new ArrayList();
        /**
         * add(Object a)方法     返回值：boolean
         * 作用：向当前集合添加元素,元素可以为任意,存入成功true，失败false
         */
        c.add("字符串");   c.add(1);  c.add(123.12);
        c.add(new JFrame());   c.add(new Object());
        System.out.println("打印集合："+c);
        /**
         * remove（Object a）方法    返回值：void
         * 作用：删除集合中给定的元素，只会删除第一个元素
         * 需求：删除c集合中 元素为1的内容
         */
        c.remove(1);
        System.out.println("删除后集合"+c);
        /**
         * size（）方法    返回值：int
         * 作用：获取集合中元素个数---数组存在lenth，获取数组长度
         */
        int size=c.size();
        System.out.println("集合元素个数"+size);
        /**
         * clear（）方法    返回值：void
         * 作用：清空集合
         * isEmpty（）方法  返回值：boolean
         * 作用：返回集合元素，如果有元素false，没元素显示true
         */
        c.clear();//清空集合
        boolean b=c.isEmpty();//是不是空的，是空--没有元素显示true，反之
        System.out.println("集合中没有元素"+b);
    }
}
